package com.hsnn.medstgmini.base.dict.dao;

import java.util.List;
import java.util.Map;

import com.hsnn.medstgmini.base.dict.model.DicArea;
import com.hsnn.medstgmini.base.dict.model.form.DicAreaForm;
import com.hsnn.medstgmini.util.Pagination;

public interface DicAreaDao {

	/**
	 * 
	 *@category 根据地区编码查询地区信息
	 *@author 邱磊
	 *@date 2015年6月10日 下午4:14:18
	 *@param areaid 地区编码
	 *@return
	 */
	public DicArea getDicAreaById(String areaid);

	
	public Map<String, Object> getSqlDicAreaById(String areaid);
	
	/**
	 * @category 通过区域名称获取 区域代码
	 * @author 韩守松
	 * @date   2015年6月13日
	 * @param  @param dicArea
	 * @param  @return
	 */
	List<DicArea> getDicAreaByArfullName(DicArea dicArea);
	/**
	 * 
	 *@category 根据父ID查询出所有的地区信息
	 *@author 邱磊
	 *@date 2015年6月19日 上午8:45:34
	 *@param fatherId
	 *@return
	 */
	public List<DicArea> getDicAreaListByFatherId(String fatherId);
	public Object getAreaById(String areaid);
	void writeLog(DicArea dicArea,String msg);
	
	
	/**
	 * 
	 *@category 新增保存地区信息
	 *@author 邱磊
	 *@date 2015年6月10日 下午4:07:08
	 *@param data 新增的地区信息
	 *@return

	public String addDicArea(DicArea data);
	 */
	
	/**
	 * 获取地区查看列表数据
	 * @param page
	 * @return
	 */
	Pagination getdicAreaList(Pagination page);
	
	/**
	 * 停用启用（包含批量）
	 * @param page
	 * @return
	 */
	int changeStatus(DicArea dicArea);
	
	/**
	 * 
	 *@category 编辑  保存地区信息
	 *@author 邱磊
	 *@date 2015年6月10日 下午4:07:08
	 *@param data 新增的地区信息
	 *@return
	 */
	void updateDicArea(Pagination page);

	/**
	 * 
	 *@category 新增保存地区信息
	 *@author 邱磊
	 *@date 2015年6月10日 下午4:07:08
	 *@param data 新增的地区信息
	 *@return
	 */
	void addDicArea(Pagination page);
	
	/**
	 * 
	 *@category 根据ID或name查询有无重复数据
	 *@author 邱磊
	 *@date 2015年6月10日 下午4:07:08
	 *@param data 新增的地区信息
	 *@return
	 */
	List<DicArea> getDicAreaBy(String key, String value, String areaId);
	public List<Map<String, Object>> getAreaInfoByName(String province, String areaName);
	/**
	 * 
	 *@category 查询本省所有的县区
	 *@author 邱磊
	 *@date 2015年11月19日 上午10:40:01
	 *@param 
	 *@return Pagination
	 */
	public Pagination getProvinceCounty(Pagination page);
	
	public void updateAreaDelCount(DicAreaForm form);
	public List<Map<String, Object>> getAreaByFatherId(String fatherId);
	public List<Map<String, Object>> getEveyAreaDelNum();
	public void setupEveryAreaDel(Pagination page);
	public Map<String, Object> getAreaByAreaId(String areaId);
	public List<Map<String, Object>> getMyProvinceArea(Pagination page);
	public List<Map<String, Object>> getMyProvinceAreaByPs(Pagination page);
}